Date		:	19 f�vrier 1990
		Programme	:       CHESS MASTER 2100
		Protection	:	MOT DE PASSE + LECTEUR PAR DEFAUT.
		Fichier		:	2100.EXE
		Temps pass�	:
		Outils		:	PERISCOPE SOFT
		Soci�t�		:	THE TOOLWORKS
		Divers		:
		Origine		:	SOLO-INDONESIE
		Num�ro		:	006


	N'ayant pas r�cup�r� les fichiers EGA et le fichier de configuration
	de ce logiciel; ce dernier commute systematiquement sur le lecteur B:
        m�me si tous les fichiers se trouvent dans le m�me r�pertoire.
        Je propose les options suivantes pour plus de facilit� d'utilisation:

	( si vous ne voulez pas faire ces modifications vous-m�me utilisez
	le fichier 2100.DEP en le renomant *.EXE )


	A) En cas d'utilisation sur disque dur, copier les 2 disquettes
	   dans le m�me r�pertoire puis tapez la commande ASSIGN B C
	   avant de lancer 2100.exe.

	B) Si vous pr�f�rez modifier le logiciel d�finitivement sans
	   utiliser l'option ASSIGN cherchez la chaine 8804C644 avec
	   PCTOOLS puis comptez 10 octets en arri�re vous devez trouver
	   62 ( lettre b en ASCII ). Ce caract�re correspond au drive sur
	   lequel se trouve les fichiers annexes, il suffit de le remplacer 
	   par l'octet 63 en HEXA ( lettre c en ASCII).

	C) Si vous pr�f�rez que le logiciel prenne le r�pertoire par d�faut
	   faites les modifications suivantes:
 	   Cherchez la chaine 8BC64040509A et remplacez 4040 par 9090!

	D) Si vous voulez 'jumper' la demande de mot de passe faite ceci:
	   Trouvez la chaine 751683ff01 puis remplacez 75 par 74.
	   	

        MODIFIER LE LECTEUR PAR DEFAUT:
        _______________________________


	Charger PERISCOPE  < ps /v:10 /w d:2 >.

	/v --> sauvegarde de l'INT 10h du BIOS ( ECRAN )
	/w --> ouverture d'une fenetre de data ( 2 lignes )

	Charger 2100.exe avec l'utilitaire RUN de PERISCOPE .
	Permet de se placer au d�but du programme � d�bugger.	

	BI 21		
	GT

	PERISCOPE va s'afficher a chaque INT 21h. Il faut noter que le
	d�roulement du programme s'en trouve ralenti dans un rapport de 10
	� 20. Non rien n'est plant�. Patience!

	Rep�rer l'INT 21 dont AX a �t� charg� avec 3D ( Chargement de
	fichier ).

	D DS:DX

	Pour afficher le nom et le r�pertoire que le logiciel va charger.

	BI 21

	Pour enlever le point d'arret.

	BM 7100:FEE2 7100:FEEF W
	GT

	Pour placer un point d'arret lorsque le contenu m�moire entre 
	DS:FEE2	et DS:FEEF change. Faire du trace a cet endroit pour 
	"voir" ce qui se passe, rep�rer CS:IP pour placer directement
	un point d'arret a cet endroit sans avoir � refaire tout le chemin.
	On s'apercoit que AL contient 62 ( lettre b ) puis succ�ssivement
	3A ( lettre : ) donc < b: > qui sont charg�s en FEE2 en passant par
	le registre SI qui pointe sur l'adresse m�moire FEE2 puis par
	[SI+01]. FEE2 contient donc 63 ( b ) et FEE3 3A ( : )

	Puis on trouve la s�quence suivante:
		
		MOV AX,SI          AX est charger par SI ( FEE2 ) 
		INC AX		   AX = FEE3
		INC AX		   AX = FEE4
		PUSH AX		   AX est sauv� sur la pile	
		CALL Sub Routine   Puis la routine qui place le nom du
				   fichier � charger est plac�e � partir de
				   FEE4

	CONCLUSION: en supprimant les 2 INC AX le nom du fichier va �tre
		    �crit � partir de FEE2 �crasant le nom du DRIVE quel
		    qu'il soit.
		    Par cons�quent le programme par l'interm�diaire du DOS
	            prendra le lecteur par d�faut. 	


	ATTENTION:

	Toujours charger PERISCOPE de la m�me facon avec le m�me nombre de
	fichiers r�sidents ( v�rifier que les adresses de chargement sont
	identiques d'une session � l'autre - reboot ou apr�s plantage )
	sous peine de ne plus retrouver les m�mes adresses m�moires, et
	les m�mes points d'arret.
	Ceci est du au fait que c'est un programme EXE que l'om DEBUG.
	Les programmes EXE sont RELOGEABLES!.
	S'il s'agissait d'un programme COM il n'y aurait aucun probl�me vu
	que tout se passe dans le m�me segment m�moire. Un programme COM
	n'est pas relogeable.
	Le point d'arret m�moire BM 7100:FEE2 7100:FEE2 W ne fonctionne
	pas, il faut au moins 1 octet d'offset.
	Ne jamais essayer de retrouver une chaine avec PCTOOLS qui contient
	une r�f�rence � une adresse FAR c'est � dire segment + offset. Vu
	que ces adresses changent en fonction de l'endroit ou est execut�
	le programme il est impossible de s'y fier. ( Cas des EXE )
	Dans la chaine suivante 8BC64040509A09008961 la partie suivant 9A
	repr�sente l'adresse SEGMENT:OFFSET du CALL 9A.
	Donc taper au grand maximum: 8BC64040509A.
	La commande Go [adresse ou SEGMENT:OFFSET] ne fonctionne que dans
	le niveau consid�r� ou plus haut mais pas � l'int�rieur d'un CALL
	ou d'une interruption. La commande GA n'est disponible que sur la
	version	4 de PERISCOPE.

		ENLEVER LA DEMANDE DE MOT DE PASSE:
	        ___________________________________

	Charger PERISCOPE et 2100.EXE par RUN comme ci-dessus.
	
	BI 21
	GT
	
	Attendre 20 minutes environ en relancant par F4 jusqu'a ce que 
	PERISCOPE arrive � la demande de mot de passe.
	Faire du trace dans le "coin" en notant des adresses SEGMENT:OFFSET
	permettant d'y sauter directement avec la commande G [adresse].
	Passer quelques RET ou RETF et noter �galement les adresses.
	Dans le cas pr�sent � partir de la demande de mot de passe ( �
	laquelle on r�pond simplement par ENTER pour faire sortir le
	programme, j'ai not� les adresses suivantes ( que des retours de
	CALL ou d'INT ):

	6077:005F     � Ces adresses changent �videmment d'un syst�me �
	621F:01EE     � l'autre et par la facon dont on a charg� le     
	621F:0305     � programme. Il serait vain d'essayer de retrouver 
	41AC:15D2     � les m�mes! Dans mon cas PERISCOPE se charge �
	2332:C003     � 16CB:0000 et utilise 0B5B paragraphes.           
	2332:1167     � RUN charge 2100.EXE avec un PSP �gal � 2322:0000.

	L'adresse 2332:1167 est suivi d'un CALL qui ex�cut� par J sort du
	programme!

	On relance par

	RUN 2100.EXE
	G 2332:1167	pour arriver directement l� ou il faut.

	Faire du trace jusqu'au CALL en modifiant systematiquement tous les
	sauts rencontr�s JZ par JNZ et inversement.
	Apr�s avoir modifi� le saut situ� � l'adresse 2332:118E le message
	WELCOME TO CHESSMASTER  s'affiche!
	Il faut bien sur modifier les sauts avant qu'ils ne soient ex�cut�s
	( Modif en RAM ) il ne reste plus qu'� rep�rer la s�quence et
	l'�diter par PCTOOLS.

	Dans le cas pr�sent remplacer 75 par 74 dans la chaine 751683FF01.
	
		
				Echec et..... mat!